package cn.gok.oop;

import java.util.Scanner;

class Animal{
    public void call(){
        System.out.println("动物发出叫声！！！！");
    }
}
class Dog extends Animal{
    @Override
    public void call() {
        System.out.println("汪汪汪！！！");
    }
}
class  Cat extends Animal{
    @Override
    public void call() {
        System.out.println("喵喵喵！！！");
    }
}
class Chick extends Animal{
    @Override
    public void call() {
        System.out.println("啾啾啾！！！");
    }
}
interface Library{
    void borrowBook();
    void returnBook();
}
public class 匿名内部类 {
    public static void main(String[] args) {
        //匿名内部类，创建父类对象的同时，把指定方法重写。
        System.out.println("请输入叫声");
        String sound =new Scanner(System.in).nextLine();
        Animal a=new Animal(){
            @Override
            public void call() {
                System.out.println(sound);
            }
        };
        a.call();
//创建一个接口的匿名内部类对象
        Library lib =new Library() {
            @Override
            public void borrowBook() {
                System.out.println("借书啦");

            }

            @Override
            public void returnBook() {
                System.out.println("还书！！！！！！");

            }
        };
        lib.borrowBook();
        lib.returnBook();
    }
}
